#ifndef _AvionState_h
#define _AvionState_h

/*
 * Hipotesis:
 *
 * Parked y in the air == a decir zombie -> si cae en este estado esta listo para morir
 *
 */
enum Status {
	PARKED, IN_THE_AIR, LANDING, TAKING_OFF
};

class FlightState {
public:
	FlightState(Status status);

	//Para saber si tiene prioridad
	bool isInTheAir();

	void startTransition(Status);

	//Para despegue o aterrizaje
	bool needsRunwayToLand();
	bool needsRunwayToTakeOff();

	Status getStatus();

protected:

	//Es el siguiente movmiento a realizar
	Status status;
};

#endif
